/**
 * 将文本内容复制到剪贴板
 * @param {string}} str 
 * @returns {boolean} 是否复制成功
 */
export function copy(str) {
    const el = createInput(str);
    el.select();
    const result = document.execCommand && document.execCommand('copy') || false;

    destroy(el);

    return result;
}

function createInput(str) {
    const input = document.createElement('input');
    input.type = 'text';
    input.value = str;
    input.style.position = 'absolute';
    input.style.left = '-9999px';
    // 防止 iOS 自动唤起键盘
    input.readOnly = 'readonly';
    document.body.appendChild(input);

    return input;
}

/**
 * 销毁 input 元素
 * @param {HTMLInputElement} el 
 */
function destroy(el) {
    if (el && el.parentNode) {
        el.parentNode.removeChild(el);
        el = null;
    }
}